.TH "tdgen" 1
.SH NAME
tdgen \- Timing Diagram Renderer
.SH SYNOPSIS

.B tdgen \-T
.I type
.B [
.B \-o
.I file
.B ]
.B [
.B \-i
.B ]
.I infile

.B tdgen -l

.SH DESCRIPTION
Tdgen is a small program that parses timing diagram descriptions and produces PNG, SVG and EPS as the output. Timing diagrams are used to show the inter-relation between different electrical signals and busses in a digital system. Typically they are used to specify electrical protocols between different chips, but may also be used to specify interfaces between logic blocks within a FPGA or ASIC. Particularly timing diagrams can be helpful in documenting interfaces within VHDL or Verilog systems.

.SH OPTIONS
.TP
.BI \-T " type"
Specifies the output file type, which maybe one of 'png', 'eps' or 'svg'
.TP
.BI \-i " infile"
The file from which to read input.  If specified as '-', input will be read from stdin.  If specified as the last option on the command line, the
.B -i
switch can be omitted.
.TP
.BI \-o " file"
Write output to the named file.  This option can be omitted if an input filename is given, in which case the output file name is taken from the input filename with the output file type suffix added.
.TP
.B \-l
Display program licence and exit.

.SH EXAMPLE
The language interpreted by tdgen is ASCII based, using punctuation marks to indicate line transitions and change.  The following example shows the input for a simple diagram for a SPI like interface:

  #!/usr/bin/tdgen -Tpng
  # Timing diagram for an SPI interface
  tdgen {
    [divs="1"];
    "sclk"      "\\/\\/\\/\\/\\/\\../\\/\\/\\/";
    "ss"        "  \\________.._____/ ";
    "mosi"      "___<0X1X2X ..XeXf\\__";
    "spi_rdy_n" " /   \\_____.._______";
  }

More information on the input can be found at http://www.mcternan.co.uk/tdgen/.

.SH COPYRIGHT

Timgen, Copyright (C) 2009 Michael C McTernan,
                           Michael.McTernan.2001@cs.bris.ac.uk

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

.SH "SEE ALSO"
http://www.mcternan.co.uk/tdgen/
